import java.io.FileNotFoundException;
import java.io.IOException;

//异常
public class Test {

    /** 1 异常的抛出
     * 注意事项：
    （1）throw必须写在方法体内部
    （2）抛出的对象必须是Exception或者Exception的子类对象
    （3）如果抛出的是RunTimeException（运行时异常）或者是RunTimeException的子类，则可不用处理，直接交给JVM处理
    （4）如果抛出的是编译时异常，用户必须处理，否则无法通过编译
    （5）异常一旦抛出，后边的代码将不会执行
    */
    //eg1:实现一个获取数组中任意位置元素的方法
    public static int getElement(int[] arr,int index){
        if(null == arr){
            throw new NullPointerException("传递的数组为null");
        }
        if(index < 0 || index >= arr.length){
            throw new ArrayIndexOutOfBoundsException("传递的数组下标越界");
        }
        return arr[index];
    }

    public static void main(String[] args) {

        int[] arr = {1,2,3};
        getElement(arr,3);

        /*try {
            System.out.println(10/0);
            System.out.println("aaa");
        }catch (ArithmeticException e){
            e.printStackTrace(); //快速的定位异常出现的位置
            System.out.println("你这里出现了算术异常！");
        }
        System.out.println("执行后续代码！");*/
    }
}
